/**代码规范
 * 模式    和   视图    分开编写
 * 多写注释
 * 起名要有意义  类名 大驼峰 ；方法 变量名 小驼峰
 * 保证一个方法只能实现一个功能
 * 在方法中，如果有参数传入，首先进行参数认证
 * 永远不要在循环中使用 + 拼接字符串
 * 凡是一个值使用两次以上，就定义一个变量来保存它
 */
package com.medical.controller.essentialinfo;



import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.github.pagehelper.PageHelper;
import com.medical.pojo.MedicalInstitutions;
import com.medical.pojo.PageMedicalInstitutions;
import com.medical.service.essentialinfo.OrganizationService;

/**
 * @author 袁付杰
 *
 */

// Organization 定点医疗机构信息
	//1. 系统：显示检索结果；-->.操作员：录入查询条件，点查询；
	//2. 操作员：修改定点医疗机构信息，点保存；--> 系统：保存定点医疗机构信息。
	//3. 操作员：删除定点医疗机构信息，点保存；--> 系统：保存定点医疗机构信息。
	//4. 操作员：如果是新增信息，可直接在界面录入数据，可点击新增按钮添加多条记录，点保存；-->系统：保存定点医疗机构信息。

@Controller
public class OrganizationController {

	@Autowired
	private OrganizationService organizationService;
	
	//4. 操作员：如果是新增信息，可直接在界面录入数据，可点击新增按钮添加多条记录，点保存；-->系统：保存定点医疗机构信息。
	@ResponseBody
	@RequestMapping(value="/insert",method=RequestMethod.GET)
	public int insertOrganization(MedicalInstitutions medicalInstitutions) {
		System.out.println(medicalInstitutions);
		return organizationService.insertOrganization(medicalInstitutions);
	}
	
	//3. 操作员：删除定点医疗机构信息，点保存；--> 系统：保存定点医疗机构信息。
	@ResponseBody
	@RequestMapping(value="/delete/{id}")
	public int deleteOrganization(@PathVariable("id") String id) {
		String organizationNumber = id ;
		int result = organizationService.deleteOrganization(organizationNumber);
		return result;
	}
	
	//1. 系统：显示检索结果；-->.操作员：录入查询条件，点查询；
	//1.1机构编号查询
	@ResponseBody
	@RequestMapping(value="/queryById/{id}")
	public PageMedicalInstitutions queryOrganizationById(@PathVariable("id") String id) {
		String organizationNumber = id;
		PageHelper.startPage(1,10);
		PageMedicalInstitutions list = organizationService.queryOrganizationById(organizationNumber);
		return list;
	}
	
	//1.2机构名称查询
	@ResponseBody
	@RequestMapping(value="/queryByName/{name}")
	public PageMedicalInstitutions queryOrganizationByName(@PathVariable("name") String name ) {
		String organizationName = name;
		PageMedicalInstitutions list = organizationService.queryOrganizationByName(organizationName);
		return list;
	}
		//1.3 无任何输入全查询
		@ResponseBody
		@RequestMapping(value="/queryAll/{pageStart}")
		public PageMedicalInstitutions queryOrganization(@PathVariable("pageStart") int pageStart) {
			PageHelper.startPage(pageStart,2);
			PageMedicalInstitutions list = organizationService.queryOrganizationAll();
			return list;
		}
		
		//更改定点机构信息
		@ResponseBody
		@RequestMapping(value="/update",method=RequestMethod.GET)
		public int updateOrganization(MedicalInstitutions medicalInstitutions) {
			System.out.println(medicalInstitutions);
			return organizationService.updateOrganization(medicalInstitutions);
			
		}
}
